<template>
  <div class="loing-stars">
    <div class="stars">
      <div
        v-for="(item, index) in starsCount"
        :key="index"
        ref="star"
        class="star"
      ></div>
    </div>
    <comp-then-stars />
  </div>
</template>


<script>
import CompThenStars from "../components/CompTheStars.vue";
export default {
  components: {
    CompThenStars,
  },
  data() {
    return {
      starsCount: 1000, //星星的数量
      distance: 700, //间距
    };
  },
  mounted() {
    let _this = this;
    let starArr = _this.$refs.star;
    console.log(starArr);
    starArr.forEach((item) => {
      var speed = 0.2 + Math.random() * 1;
      var thisDistance = _this.distance + Math.random() * 300;
      item.style.transformOrigin = `0 0 ${thisDistance}px`;
      item.style.transform = `translate3d(0,0,-${thisDistance}px) rotateY(${
        Math.random() * 360
      }deg) rotateX(${Math.random() * -50}deg) scale(${speed}, ${speed})`;
    });
  },
};
</script>
<style lang="less" scoped>
// 动画
@keyframes rotate {
  0% {
    transform: perspective(400px) rotateZ(5deg) rotateX(-60deg) rotateY(0);
  }
  100% {
    transform: perspective(400px) rotateZ(5deg) rotateX(-60deg) rotateY(-360deg);
  }
}
.loing-stars {
  .stars {
    z-index: 999;
    position: absolute;
    transform: perspective(500px);
    transform-style: preserve-3d;
    perspective-origin: 50% 90%;
    animation: rotate 90s infinite linear;
    bottom: 0;
    
    .star {
      width: 2px;
      height: 2px;
      background: #f7f7b8;
      position: absolute;
      top: 0;
      left: 0;
      backface-visibility: hidden;
    }
  }
}
</style>